#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
语音控制功能演示脚本
展示拓展后的语音控制指令功能
"""

import json
from voice_assistant.commands.CommandParser import CommandParser
from voice_assistant.commands.win_opt import execute_command

def demo_voice_commands():
    """演示语音控制功能"""
    parser = CommandParser()
    
    print("=" * 60)
    print("🎤 语音控制功能演示")
    print("=" * 60)
    
    # 测试命令分类
    test_categories = {
        "📱 应用程序控制": [
            "打开chrome",
            "关闭微信",
            "启动vscode",
            "退出qq"
        ],
        "🔧 系统操作": [
            "显示ip",
            "打开任务管理器",
            "音量调大",
            "亮度调暗20%",
            "锁屏"
        ],
        "📁 文件操作": [
            "创建文件test.txt",
            "删除文件old.txt",
            "复制file.txt到backup",
            "移动document到folder",
            "重命名old.txt为new.txt",
            "查找Python文件"
        ],
        "🌐 网络搜索": [
            "百度搜索人工智能",
            "谷歌搜索机器学习",
            "必应搜索Python教程"
        ],
        "🎵 媒体控制": [
            "播放",
            "暂停",
            "下一首",
            "全屏",
            "退出全屏"
        ],
        "🪟 窗口管理": [
            "最大化窗口",
            "最小化窗口",
            "显示桌面",
            "切换窗口"
        ],
        "📶 网络操作": [
            "连接wifi MyWiFi",
            "断开wifi",
            "打开蓝牙",
            "关闭蓝牙",
            "开启热点"
        ],
        "📸 截图功能": [
            "截图",
            "区域截图",
            "窗口截图"
        ],
        "⏰ 提醒功能": [
            "提醒5分钟:开会时间到了",
            "设置闹钟10秒:测试提醒",
            "查看提醒",
            "取消提醒"
        ],
        "📋 剪贴板操作": [
            "复制:这是要复制的文本",
            "粘贴",
            "清空剪贴板",
            "查看剪贴板"
        ],
        "⌨️ 文本输入": [
            "输入:Hello World",
            "清空输入",
            "删除文本"
        ]
    }
    
    total_commands = 0
    successful_commands = 0
    
    for category, commands in test_categories.items():
        print(f"\n{category}")
        print("-" * 40)
        
        for cmd in commands:
            total_commands += 1
            print(f"\n🎯 指令: '{cmd}'")
            
            # 解析命令
            result = parser.parse_command(cmd)
            print(f"📝 解析结果: {json.dumps(result, ensure_ascii=False, indent=2)}")
            
            # 如果命令被支持，尝试执行
            if result.get("supported", False):
                print("✅ 命令已识别")
                # 注意：这里只是演示解析，实际执行可能会影响系统
                # success = execute_command(result)
                # if success:
                #     print("✅ 命令执行成功")
                #     successful_commands += 1
                # else:
                #     print("❌ 命令执行失败")
                successful_commands += 1  # 演示中假设都成功
            else:
                print(f"❌ {result.get('reason', '无法识别的指令')}")
            
            print("-" * 20)
    
    # 统计结果
    print("\n" + "=" * 60)
    print("📊 统计结果")
    print("=" * 60)
    print(f"总测试命令数: {total_commands}")
    print(f"成功识别命令数: {successful_commands}")
    print(f"识别成功率: {successful_commands/total_commands*100:.1f}%")
    
    print("\n🎉 语音控制功能拓展完成！")
    print("\n📝 新增功能说明:")
    print("1. 📁 文件操作 - 创建、删除、复制、移动、重命名、搜索文件")
    print("2. 🌐 网络搜索 - 支持百度、谷歌、必应搜索")
    print("3. 🎵 媒体控制 - 播放、暂停、切换、全屏等")
    print("4. 🪟 窗口管理 - 最大化、最小化、切换、显示桌面")
    print("5. 📶 网络操作 - WiFi连接、蓝牙控制、热点管理")
    print("6. 📸 截图功能 - 全屏、区域、窗口截图")
    print("7. ⏰ 提醒功能 - 设置定时提醒和闹钟")
    print("8. 📋 剪贴板操作 - 复制、粘贴、清空、查看")
    print("9. ⌨️ 文本输入 - 模拟键盘输入文本")
    
    print("\n⚠️  注意事项:")
    print("- 部分功能需要安装额外的依赖库 (pyautogui, pyperclip)")
    print("- 某些系统操作可能需要管理员权限")
    print("- 建议在测试环境中验证功能后再正式使用")

if __name__ == "__main__":
    demo_voice_commands()